.. _cmlDiGetLogic: cmlDiGetLogic ================================ -------------------------------- SYNOPSYS ````````````` .. code-block:: none VT_I4 cmlDiGetLogic([in] VT_I4 BoardID, [in] VT_I4 Axis, [in] VT_I4 Channel, [out] VT_PI4 InputLogic ) DESCRIPTION ````````````` - cmlDiSetLogic()/cmlDiGetLogic() 함수는 대상 디지털 입력 채널의 논리(Logic) 설정 혹은 설정상태를 반환합니다. \ - 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cml 가 붙지 않습니다. PARAMETER ````````````` ▶ BoardID : 사용자가 설정한 디바이스(보드) ID. ▶ Axis: Axis 번호(Axis 번호는 3부터 시작합니다.) ▶ Channel : 채널 번호. 통합 채널로 관리되는 채널 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 채널수 - 1 이하의 값을 채널 번호로 설정할 수 있습니다. ▶ Logic : 대상 디지털 I/O 채널의 논리(Logic)를 설정 혹은 설정상태를 반환합니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 0 (cmlLOGIC_A), A 접점 방식 => 평상시 Open, 감지되면 Close 되는 스위치 방식 1 (cmlLOGIC_B), B 접점 방식 => 평상시 Close, 감지되면 Open 되는 스위치 방식 RETURN VALUE ````````````` .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 음수, 수행 실패 0(ERR_NONE), 수행 성공 EXAMPLE ``````````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #include ‚ComiMLink2_SDK.h‛ #include ‚ComiMLink2_SDK_Def.h‛ /* 1번 찿널의 로직을 ‘B 접점’ 으로 설정하고 설정된 상태를 확인합니다. */ //BoardID 는 0 으로 가정함 #define CHANNEL 1 long lGetDioLogic =0; // 설정한 디지털 입출력 논리를 반홖하기 위한 변수 // 1 번 찿널의 로직을 B접점으로 설정합니다. if(cmlDiSetLogic (BoardID, 0, CHANNEL, cmlLOGIC_B ) != ERR_NONE ) { OutputDebugString("cmlDiSetLogic function Fail"); } // 1 번 찿널의 설정된 로직 상태를 확인합니다. if(cmlDiGetLogic (BoardID, 0, CHANNEL, &lGetDioLogic) != ERR_NONE ) { OutputDebugString ( " cmlDiGetLogic function Fail" ); }